四大网络抓包神器,总有一款适合你~ |
您所在的位置:网站首页 › 抓取浏览器的http 请求 › 四大网络抓包神器,总有一款适合你~ |
一、概述 无论是开发还是测试,在工作中经常会遇到需要抓包的时候。本篇博客主要介绍如何在各个平台下,高效的抓包。目前的抓包软件总体可以分为两类,一种是设置代理抓取http包,比如Charles、mitmproxy这些软件。 另一种是直接抓取经过网卡的所有协议包,其中最出名就是大名鼎鼎的wireshark以及linux自带的抓包软件tcpdump。下面重点介绍一下这四个抓包工具的特点以及使用。 二、Wiresharkwireshark想必大多数程序员都不会陌生。wireshark在各个平台都可以安装使用,它可以抓取经过指定网卡的所有协议。wireshark虽然很强大,但是对初学者其实不是很友好。 这也正是由于它太强大,它可以抓取所有包,所以初学者在使用时面对茫茫数据流不知所措。初学者需要认真的去学习怎么过滤得到自己感兴趣的包,但是如果不熟悉wireshark的过滤语法,要过滤数据包将举步维艰。 过滤语法简单介绍wireshark的过滤语法总结起来其实也很简单,就是以协议开头,后面可以跟着协议的属性,然后加上一些判断符号,比如contains、==、>、’或者l键。 2. 请求拦截按下i键后,可以对指定的请求进行拦截。按mitmproxy收到指定条件的请求时,不会立马把它转发出去,而是等待我们执行resume操作后,才会把请求转发出去——在这期间我们甚至可以对请求进行手动修改。 红色字体表示该请求被拦截 之后我们可以按入a键来恢复该请求,可以输入A键恢复所有被拦截的请求。 3.查看/编辑请求把指示光标移动到某个请求上,按回车可以查看请求的内容。或者鼠标直接点击请求也可以。 之后通过左右方向键可以查看request、response、detail等信息。 如果要编辑请求,可以在这个界面输入e,然后会让我们选择编辑哪块内容: 之后就会进入vim编辑界面编辑相应的内容了(保存后会生效)。 4. 重发请求mitmproxy的光标指向某个请求时,按下r键可以重发这个请求(重发前可以对该请求进行编辑)。 按下’:’键后,可以输入命令,这样我们就可以通过过滤规则批量的重发请求 replay.client是mitmproxy内置的一个命令,我们也可以自行编写命令。命令的编写可以参考官网文档,这里不做介绍。 5. 插件开发我们可以编写插件,然后再启动的时候指定插件,mitmproxy处理请求的时候会执行一个插件的链,这样我们就可以对请求进行编辑然后再发送出去了。 借用官网的插件demo: from mitmproxy import ctx class Counter: def __init__(self): self.num = 0 def request(self, flow): self.num = self.num + 1 ctx.log.info("We've seen %d flows" % self.num) addons = [ Counter() ]这个方法对每一个请求进行处理,然后打印序号。通过mitmproxy -s test.py来让插件生效。通过插件可以绑定各种连接事件。感兴趣的朋友可以自行去mitmproxy官网看文档,这里不多做介绍。 6. 保存抓到的请求数据通过w快捷键我们可以把这次抓到的请求包保存到文件上。 通过mitmproxy -r file可以读取以前抓取的请求信息进行分析。 优缺点 优点: 1、命令行操作,可以在无GUI界面的服务器上使用 2、安装好mitmproxy提供的证书后,也可以分析https请求 3、不仅可以抓包,还支持对包的拦截、修改、重复,这是常规抓包软件不具备的 缺点: 1、仅支持http协议的抓包 六、总结对于这几个抓包神器,我总结了下使用场景: 只抓http协议的话,推荐使用mitmproxy。mitmproxy丰富的功能不仅可以满足我们的抓包需求,还可以提升我们的工作效率。比如测试可以抓包后一键重发请求来重现bug,开发调试的时候可以修改请求内容等等。如果是在线上的没有GUI的服务器,推荐使用tcpdump,虽然mitmproxy也可以支持命令行抓包,但是生产环境的服务器最好不要乱安装第三方插件。另外,大多数服务器都有装tcpdump。我们可以通过把请求的内容输出到文件,然后拷贝会自己的电脑用wireshark分析。想要抓取http以外的协议的话,直接上wireshark。功能强大对于Charles,感觉用了mitmproxy之后,就基本用不上Charles了。Charles好像也可以编辑后再发送,但是感觉不是很好用,可能我用的不是很熟吧。作者:疯狂哈丘 来源:https://blog.csdn.net/u013332124/article/details/84112926 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |